package com.ruoyi.project.mahjong.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.project.mahjong.domain.TablePool;
import com.ruoyi.project.mahjong.domain.dto.PoolDto;
import com.ruoyi.project.mahjong.domain.vo.AutoMateVo;

/**
 * 陪桌数据池Service接口
 *
 * @author ruoyi
 * @date 2023-07-25
 */
public interface ITablePoolService
{
    /**
     * 查询陪桌数据池
     *
     * @param id 陪桌数据池ID
     * @return 陪桌数据池
     */
    public TablePool selectTablePoolById(Long id);

    /**
     * 查询陪桌数据池列表
     *
     * @param tablePool 陪桌数据池
     * @return 陪桌数据池集合
     */
    public List<TablePool> selectTablePoolList(TablePool tablePool);

    /**
     * 新增陪桌数据池
     *
     * @param tablePool 陪桌数据池
     * @return 结果
     */
    public int insertTablePool(TablePool tablePool) throws Exception;

    /**
     * 修改陪桌数据池
     *
     * @param tablePool 陪桌数据池
     * @return 结果
     */
    public int updateTablePool(TablePool tablePool) throws Exception;

    /**
     * 批量删除陪桌数据池
     *
     * @param ids 需要删除的陪桌数据池ID
     * @return 结果
     */
    public int deleteTablePoolByIds(Long[] ids);

    /**
     * 删除陪桌数据池信息
     *
     * @param id 陪桌数据池ID
     * @return 结果
     */
    public int deleteTablePoolById(Long id);

    Map<String, Object> selectdetails(PoolDto dto);

    void match(PoolDto dto);

    void chengju(PoolDto dto);

    int checkMember(TablePool tablePool);

    void deleteTablePoolByMemberId(Long memberId);

    void updateTablePoolByMemberId(TablePool tablePool);

    Long selectAutoMate(PoolDto dto);

    void goStart(Long id);

    List<TablePool> selectTablePoolListmy(TablePool tablePool);

    void updateTablePoolmy(Long memberId);
}
